<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Software controlled SPI Master driver</title>
<link href="tabs.css" rel="stylesheet" type="text/css" />
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="alias.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="alias.js"></script>

<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>


<script type="text/javascript">
  jQuery(document).ready(function () {
    if(gref){ // Number all _img and _table classes
      gref();
    }
  });
</script>

</head>
<body>
<div id="top"><!-- do not remove this div! -->

<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">nRF51 General Code Examples
   
   </div>
   
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<!-- Generated by Doxygen 1.7.5 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('group__lib__driver__spi__master.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Software controlled SPI Master driver</div>  </div>
<div class="ingroups"><a class="el" href="group__nrf__drivers.html">Drivers</a></div></div>
<div class="contents">

<p>Software controlled SPI Master driver.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib__driver__spi__master.html#ga75239783245d73edd0e4fb4cab5fa27b">SPIFrequency_t</a> { <br/>
&#160;&#160;<a class="el" href="group__lib__driver__spi__master.html#gga75239783245d73edd0e4fb4cab5fa27bad10d2d6d455c26fee9a98815334c3d47">Freq_125Kbps</a> =  0, 
<a class="el" href="group__lib__driver__spi__master.html#gga75239783245d73edd0e4fb4cab5fa27baa53819c1142a53ecc3b6a7982d1d158a">Freq_250Kbps</a>, 
<a class="el" href="group__lib__driver__spi__master.html#gga75239783245d73edd0e4fb4cab5fa27ba6285681e23ab15c5349f563158e1b616">Freq_500Kbps</a>, 
<a class="el" href="group__lib__driver__spi__master.html#gga75239783245d73edd0e4fb4cab5fa27ba2a2313f0090b5c125880296f4461f60c">Freq_1Mbps</a>, 
<br/>
&#160;&#160;<a class="el" href="group__lib__driver__spi__master.html#gga75239783245d73edd0e4fb4cab5fa27ba425990fcb3ee3d42eaa47deeb0223a87">Freq_2Mbps</a>, 
<a class="el" href="group__lib__driver__spi__master.html#gga75239783245d73edd0e4fb4cab5fa27ba4aba21b81e2a3d4d4247300e58e8b10e">Freq_4Mbps</a>, 
<a class="el" href="group__lib__driver__spi__master.html#gga75239783245d73edd0e4fb4cab5fa27ba038c2e8494738bacb35f6c0814e60e1a">Freq_8Mbps</a>
<br/>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib__driver__spi__master.html#gac859abd9dbf0e642ef29753f142f4475">SPIModuleNumber</a> { <a class="el" href="group__lib__driver__spi__master.html#ggac859abd9dbf0e642ef29753f142f4475a7add1e0588a075d9385b10fcbb2010f4">SPI0</a> =  0, 
<a class="el" href="group__lib__driver__spi__master.html#ggac859abd9dbf0e642ef29753f142f4475add83ddb396fbcb33f2d61248e5c4a185">SPI1</a>
 }</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib__driver__spi__master.html#ga96e7e9bbfca8b326307e8b20ba4706e1">SPIMode</a> { <a class="el" href="group__lib__driver__spi__master.html#gga96e7e9bbfca8b326307e8b20ba4706e1aacf2eef6aadb9f0de11862660cd9ade6">SPI_MODE0</a> =  0, 
<a class="el" href="group__lib__driver__spi__master.html#gga96e7e9bbfca8b326307e8b20ba4706e1abd92ab028fcac05cf2ed27b4838d1590">SPI_MODE1</a>, 
<a class="el" href="group__lib__driver__spi__master.html#gga96e7e9bbfca8b326307e8b20ba4706e1a2607e91fc0c8ae3334284808d7f94cf5">SPI_MODE2</a>, 
<a class="el" href="group__lib__driver__spi__master.html#gga96e7e9bbfca8b326307e8b20ba4706e1ad9636eac0759655110aa77dd6c22da6c">SPI_MODE3</a>
 }</td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">uint32_t *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib__driver__spi__master.html#gac83edc688197ced911cf822ab3eae81a">spi_master_init</a> (<a class="el" href="group__lib__driver__spi__master.html#gac859abd9dbf0e642ef29753f142f4475">SPIModuleNumber</a> module_number, <a class="el" href="group__lib__driver__spi__master.html#ga96e7e9bbfca8b326307e8b20ba4706e1">SPIMode</a> mode, bool lsb_first)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__lib__driver__spi__master.html#ga14655d328261ceeb3c23c73f6ae33980">spi_master_tx_rx</a> (uint32_t *spi_base_address, uint16_t transfer_size, const uint8_t *<a class="el" href="group__spi__master__example.html#gab36e6efd0ec4bf8a1f51555850828b5a">tx_data</a>, uint8_t *<a class="el" href="group__spi__master__example.html#gae4cee0b144cc6cb01fc4c7b36e37a874">rx_data</a>)</td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<p>Software controlled SPI Master driver. </p>
<p>Supported features:</p>
<ul>
<li>Operate two SPI masters independently or in parallel.</li>
<li>Transmit and Receive given size of data through SPI.</li>
<li>configure each SPI module separately through <a class="el" href="group__lib__driver__spi__master.html#gac83edc688197ced911cf822ab3eae81a">spi_master_init</a>. </li>
</ul>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="ga75239783245d73edd0e4fb4cab5fa27b"></a><!-- doxytag: member="spi_master.h::SPIFrequency_t" ref="ga75239783245d73edd0e4fb4cab5fa27b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__lib__driver__spi__master.html#ga75239783245d73edd0e4fb4cab5fa27b">SPIFrequency_t</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>SPI master operating frequency </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga75239783245d73edd0e4fb4cab5fa27bad10d2d6d455c26fee9a98815334c3d47"></a><!-- doxytag: member="Freq_125Kbps" ref="gga75239783245d73edd0e4fb4cab5fa27bad10d2d6d455c26fee9a98815334c3d47" args="" -->Freq_125Kbps</em>&nbsp;</td><td>
<p>drive SClk with frequency 125Kbps </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga75239783245d73edd0e4fb4cab5fa27baa53819c1142a53ecc3b6a7982d1d158a"></a><!-- doxytag: member="Freq_250Kbps" ref="gga75239783245d73edd0e4fb4cab5fa27baa53819c1142a53ecc3b6a7982d1d158a" args="" -->Freq_250Kbps</em>&nbsp;</td><td>
<p>drive SClk with frequency 250Kbps </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga75239783245d73edd0e4fb4cab5fa27ba6285681e23ab15c5349f563158e1b616"></a><!-- doxytag: member="Freq_500Kbps" ref="gga75239783245d73edd0e4fb4cab5fa27ba6285681e23ab15c5349f563158e1b616" args="" -->Freq_500Kbps</em>&nbsp;</td><td>
<p>drive SClk with frequency 500Kbps </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga75239783245d73edd0e4fb4cab5fa27ba2a2313f0090b5c125880296f4461f60c"></a><!-- doxytag: member="Freq_1Mbps" ref="gga75239783245d73edd0e4fb4cab5fa27ba2a2313f0090b5c125880296f4461f60c" args="" -->Freq_1Mbps</em>&nbsp;</td><td>
<p>drive SClk with frequency 1Mbps </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga75239783245d73edd0e4fb4cab5fa27ba425990fcb3ee3d42eaa47deeb0223a87"></a><!-- doxytag: member="Freq_2Mbps" ref="gga75239783245d73edd0e4fb4cab5fa27ba425990fcb3ee3d42eaa47deeb0223a87" args="" -->Freq_2Mbps</em>&nbsp;</td><td>
<p>drive SClk with frequency 2Mbps </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga75239783245d73edd0e4fb4cab5fa27ba4aba21b81e2a3d4d4247300e58e8b10e"></a><!-- doxytag: member="Freq_4Mbps" ref="gga75239783245d73edd0e4fb4cab5fa27ba4aba21b81e2a3d4d4247300e58e8b10e" args="" -->Freq_4Mbps</em>&nbsp;</td><td>
<p>drive SClk with frequency 4Mbps </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga75239783245d73edd0e4fb4cab5fa27ba038c2e8494738bacb35f6c0814e60e1a"></a><!-- doxytag: member="Freq_8Mbps" ref="gga75239783245d73edd0e4fb4cab5fa27ba038c2e8494738bacb35f6c0814e60e1a" args="" -->Freq_8Mbps</em>&nbsp;</td><td>
<p>drive SClk with frequency 8Mbps </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="spi__master_8h_source.html#l00037">37</a> of file <a class="el" href="spi__master_8h_source.html">spi_master.h</a>.</p>

</div>
</div>
<a class="anchor" id="gac859abd9dbf0e642ef29753f142f4475"></a><!-- doxytag: member="spi_master.h::SPIModuleNumber" ref="gac859abd9dbf0e642ef29753f142f4475" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__lib__driver__spi__master.html#gac859abd9dbf0e642ef29753f142f4475">SPIModuleNumber</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>SPI master module number </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="ggac859abd9dbf0e642ef29753f142f4475a7add1e0588a075d9385b10fcbb2010f4"></a><!-- doxytag: member="SPI0" ref="ggac859abd9dbf0e642ef29753f142f4475a7add1e0588a075d9385b10fcbb2010f4" args="" -->SPI0</em>&nbsp;</td><td>
<p>SPI module 0 </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="ggac859abd9dbf0e642ef29753f142f4475add83ddb396fbcb33f2d61248e5c4a185"></a><!-- doxytag: member="SPI1" ref="ggac859abd9dbf0e642ef29753f142f4475add83ddb396fbcb33f2d61248e5c4a185" args="" -->SPI1</em>&nbsp;</td><td>
<p>SPI module 1 </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="spi__master_8h_source.html#l00051">51</a> of file <a class="el" href="spi__master_8h_source.html">spi_master.h</a>.</p>

</div>
</div>
<a class="anchor" id="ga96e7e9bbfca8b326307e8b20ba4706e1"></a><!-- doxytag: member="spi_master.h::SPIMode" ref="ga96e7e9bbfca8b326307e8b20ba4706e1" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__lib__driver__spi__master.html#ga96e7e9bbfca8b326307e8b20ba4706e1">SPIMode</a></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>SPI mode </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="gga96e7e9bbfca8b326307e8b20ba4706e1aacf2eef6aadb9f0de11862660cd9ade6"></a><!-- doxytag: member="SPI_MODE0" ref="gga96e7e9bbfca8b326307e8b20ba4706e1aacf2eef6aadb9f0de11862660cd9ade6" args="" -->SPI_MODE0</em>&nbsp;</td><td>
<p>Sample data at rising edge of clock and shift serial data at falling edge </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga96e7e9bbfca8b326307e8b20ba4706e1abd92ab028fcac05cf2ed27b4838d1590"></a><!-- doxytag: member="SPI_MODE1" ref="gga96e7e9bbfca8b326307e8b20ba4706e1abd92ab028fcac05cf2ed27b4838d1590" args="" -->SPI_MODE1</em>&nbsp;</td><td>
<p>sample data at falling edge of clock and shift serial data at rising edge </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga96e7e9bbfca8b326307e8b20ba4706e1a2607e91fc0c8ae3334284808d7f94cf5"></a><!-- doxytag: member="SPI_MODE2" ref="gga96e7e9bbfca8b326307e8b20ba4706e1a2607e91fc0c8ae3334284808d7f94cf5" args="" -->SPI_MODE2</em>&nbsp;</td><td>
<p>sample data at falling edge of clock and shift serial data at rising edge </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="gga96e7e9bbfca8b326307e8b20ba4706e1ad9636eac0759655110aa77dd6c22da6c"></a><!-- doxytag: member="SPI_MODE3" ref="gga96e7e9bbfca8b326307e8b20ba4706e1ad9636eac0759655110aa77dd6c22da6c" args="" -->SPI_MODE3</em>&nbsp;</td><td>
<p>Sample data at rising edge of clock and shift serial data at falling edge </p>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="spi__master_8h_source.html#l00060">60</a> of file <a class="el" href="spi__master_8h_source.html">spi_master.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="gac83edc688197ced911cf822ab3eae81a"></a><!-- doxytag: member="spi_master.h::spi_master_init" ref="gac83edc688197ced911cf822ab3eae81a" args="(SPIModuleNumber module_number, SPIMode mode, bool lsb_first)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t* spi_master_init </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="group__lib__driver__spi__master.html#gac859abd9dbf0e642ef29753f142f4475">SPIModuleNumber</a>&#160;</td>
          <td class="paramname"><em>module_number</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__lib__driver__spi__master.html#ga96e7e9bbfca8b326307e8b20ba4706e1">SPIMode</a>&#160;</td>
          <td class="paramname"><em>mode</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>lsb_first</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Initializes given SPI master with given configuration.</p>
<p>After initializing the given SPI master with given configuration, this function also test if the SPI slave is responding with the configurations by transmitting few test bytes. If the slave did not respond then error is returned and contents of the rx_data are invalid.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">module_number</td><td>SPI master number (SPIModuleNumber) to initialize. </td></tr>
    <tr><td class="paramname">mode</td><td>SPI master mode (mode 0, 1, 2 or 3 from SPIMode) </td></tr>
    <tr><td class="paramname">lsb_first</td><td>true if lsb is first bit to shift in/out as serial data on MISO/MOSI pins. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">pointer</td><td>to direct physical address of the requested SPI module if init was successful </td></tr>
    <tr><td class="paramname">0,if</td><td>either init failed or slave did not respond to the test transfer </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="spi__master_8c_source.html#l00073">73</a> of file <a class="el" href="spi__master_8c_source.html">spi_master.c</a>.</p>

</div>
</div>
<a class="anchor" id="ga14655d328261ceeb3c23c73f6ae33980"></a><!-- doxytag: member="spi_master.h::spi_master_tx_rx" ref="ga14655d328261ceeb3c23c73f6ae33980" args="(uint32_t *spi_base_address, uint16_t transfer_size, const uint8_t *tx_data, uint8_t *rx_data)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool spi_master_tx_rx </td>
          <td>(</td>
          <td class="paramtype">uint32_t *&#160;</td>
          <td class="paramname"><em>spi_base_address</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint16_t&#160;</td>
          <td class="paramname"><em>transfer_size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const uint8_t *&#160;</td>
          <td class="paramname"><em>tx_data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t *&#160;</td>
          <td class="paramname"><em>rx_data</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">
<p>Transfer/Receive data over SPI bus.</p>
<p>If TWI master detects even one NACK from the slave or timeout occurs, STOP condition is issued and the function returns false.</p>
<dl class="note"><dt><b>Note:</b></dt><dd>Make sure at least transfer_size number of bytes is allocated in tx_data/rx_data.</dd></dl>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">spi_base_address</td><td>register base address of the selected SPI master module </td></tr>
    <tr><td class="paramname">transfer_size</td><td>number of bytes to transmit/receive over SPI master </td></tr>
    <tr><td class="paramname">tx_data</td><td>pointer to the data that needs to be transmitted </td></tr>
    <tr><td class="paramname">rx_data</td><td>pointer to the data that needs to be received </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd></dd></dl>
<dl><dt><b>Return values:</b></dt><dd>
  <table class="retval">
    <tr><td class="paramname">true</td><td>if transmit/reveive of transfer_size were completed. </td></tr>
    <tr><td class="paramname">false</td><td>if transmit/reveive of transfer_size were not complete and tx_data/rx_data points to invalid data. </td></tr>
  </table>
  </dd>
</dl>

<p>Definition at line <a class="el" href="spi__master_8c_source.html#l00171">171</a> of file <a class="el" href="spi__master_8c_source.html">spi_master.c</a>.</p>

</div>
</div>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Defines</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>


    <li class="footer">
      Copyright &copy 2006-2011 <a href="http://www.nordicsemi.no" style="text-decoration:none">Nordic Semiconductor</a>.
      All Rights Reserved.
      <a href="disclaimer.html">Disclaimer</a>
    </li>
   </ul>
 </div>


</body>
</html>
